Skip to content

feat(theme): add support for light theme and mode selector - #402

Closed
DibashSarkar wants to merge 1 commit into
ArnasDon:mainfrom
DibashSarkar:feat/light-mode
Closed

feat(theme): add support for light theme and mode selector#402
DibashSarkar wants to merge 1 commit into
ArnasDon:mainfrom
DibashSarkar:feat/light-mode

Conversation

@DibashSarkar

Copy link
Copy Markdown

Description

This PR introduces support for Light Mode across the application, adding a theme selector to allow users to switch between Light, Dark, and System preferences.

Note: This is part 1 of splitting up the previous monolithic PR to allow for easier, safer reviews.

Changes

  • Configured Tailwind CSS to support dark: variants properly alongside light mode defaults.
  • Updated globals.css with a complete set of light and dark CSS variables for the color palette.
  • Added a ThemeToggle component to the user settings/header for seamless switching.
  • Ensured all existing components (buttons, cards, text, and inputs) have appropriate color contrast and styling in both themes.
  • Replaced hardcoded color values with semantic Tailwind classes (e.g., bg-background, text-foreground).

Why this is needed

To improve accessibility and provide a better user experience for those who prefer working in light mode environments.

Testing

  • Verified manual switching between Dark and Light mode.
  • Verified System mode respects OS-level theme preferences.
  • Tested across major views (dashboard, settings, webhooks) to ensure no visual regressions or illegible text.

@DibashSarkar
DibashSarkar requested a review from ArnasDon as a code owner July 17, 2026 20:48
@ArnasDon

Copy link
Copy Markdown
Owner

Closing — light mode already exists upstream. MODES = ["light", "dark"] is in src/lib/themes.ts and the html[data-mode="light"] block is at src/app/globals.css:119 (added in #243). The new light.css re-declares that same selector but is imported above it, so source order means the existing block wins.

Two other things if you revisit this: registering light in THEME_IDS mixes the accent and light/dark dimensions that themes.ts keeps separate, and there's no html[data-theme="light"] block to back it. The layout.tsx description also became "Self-hostable Journey Tank WP CRM", which looks like it came along from your fork.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants